const expressJWT = require("express-jwt");
const { TOKEN_SECRET } = require("./consts");

const jwtAuth = expressJWT({
    secret: TOKEN_SECRET, // 该属性的值要和生成 token 时的字符串一致
    algorithms: ["HS256"], // 设置 jwt 的算法为 HS256
    // false ：表示对于没有 token 的请求不进行解析（也就是说直接通过验证）
    // true：对于没有 token 的请求也会进行 token 验证，没有则验证不通过
    credentialsRequired: true,
}).unless({
    // 用于配置不需要身份认证的路径
    path: ["/login/adminsLogin", "/login/salesMenLogin", "/customers/CustomersLogin", "/products/getProducts", /\/images/],
});

module.exports = jwtAuth;